package util;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.logging.Level;
import java.util.logging.Logger;

public class Reflexao {

    private static final Logger LOG = Logger.getLogger(Reflexao.class.getName());

    public static Object obterId(Object entidade) {
        try {
            Method getId = entidade.getClass().getMethod("getId", new Class[0]);
            return getId.invoke(entidade, new Object[0]);
        } catch (NoSuchMethodException | SecurityException | IllegalArgumentException | InvocationTargetException | IllegalAccessException ex    ) {
            LOG.log(Level.SEVERE,"Erro de reflexÃ£o, nÃ£o foi possivel acessar o mÃ©todo getId",ex);
        }
        return null;
    }
}
